﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using ClinicaOdontologica.Models;

namespace ClinicaOdontologica.Controllers
{
    public class AgendaController : Controller
    {
        //
        // GET: /Paciente/
       
        public ActionResult Tomadehora()
        {
            List<SUCURSAL> sucursales = new List<SUCURSAL>();
            List<PROFESIONAL> profesionales = new List<PROFESIONAL>();
            using(EntidadesGrupo5 dc = new EntidadesGrupo5())
            {
                sucursales = dc.SUCURSAL.OrderBy(a => a.IDSUCURSAL).ToList();
            }
            ViewBag.IDSUCURSAL = new SelectList(sucursales, "IDSUCURSAL", "NOMBRE");
            ViewBag.IDPROFESIONAL = new SelectList(profesionales, "IDPROFESIONAL", "ESPECIALIDAD");
            return View();
        }
        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Tomadehora(AGENDA ag)
        {
            List<SUCURSAL> sucursales = new List<SUCURSAL>();
            List<PROFESIONAL> profesionales = new List<PROFESIONAL>();

            using (EntidadesGrupo5 dc = new EntidadesGrupo5())
            {
                sucursales = dc.SUCURSAL.OrderBy(a => a.NOMBRE).ToList();
                if (ag != null && ag.IDSUCURSAL >0)
                {
                    profesionales = dc.PROFESIONAL.Where(a => a.IDPROFESIONAL.Equals(ag.IDPROFESIONAL)).OrderBy(a => a.IDPROFESIONAL).ToList();
                }
                
            }

            if(ModelState.IsValid)
            {
                using (EntidadesGrupo5 dc = new EntidadesGrupo5())
                {
                    dc.AGENDA.Add(ag);
                    dc.SaveChanges();
                    ModelState.Clear();
                    ag = null;
                    ViewBag.Message = "Wena";
                }
            }
            else 
            {
                ViewBag.Message = "Mala";
            }
            return View(ag);
        }

        [HttpGet]
        public JsonResult GetEspecialidades(string IDSUCURSAL= "" )
        {
            List<PROFESIONAL> profesionales = new List<PROFESIONAL>();
            int ID = 0;
            if (int.TryParse(IDSUCURSAL, out ID))
            {
                 using (EntidadesGrupo5 dc = new EntidadesGrupo5())
                 {
                     profesionales = dc.PROFESIONAL.Where(a => a.IDPROFESIONAL.Equals(ID)).OrderBy(a => a.IDPROFESIONAL).ToList();
                 }
            }
            if(Request.IsAjaxRequest())
            {
                return new JsonResult
                {
                    Data = profesionales,
                    JsonRequestBehavior = JsonRequestBehavior.AllowGet
                };
            }
            else
            {
                return new JsonResult
                {
                    Data = "No valid"
                };
            }
        }
        public System.Collections.IEnumerable profesional { get; set; }
    }
}